package cn.echase.ecare.yinfayun.domain.vo;

import cn.echase.ecare.yinfayun.domain.entity.OrgTransactionRecord;
import cn.echase.ecare.yinfayun.domain.entity.base.YinFaYunTenantEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.util.Date;


/**
 * <p>
 * 机构交易记录
 * </p>
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = OrgTransactionRecord.class)
public class OrgTransactionRecordVo extends YinFaYunTenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;

    /**
     * uuid
     */
    private String uuId;

    /**
     * 长者id
     */
    private String payerId;

    /**
     * 长者姓名
     */
    private String payerName;

    /**
     * 床位名称
     */
    private String bedName;

    /**
     * 子账户类型(1-预缴金账户)
     */
    private Integer subType;

    /**
     * 科目类别(1-预收款 2-收入 3-支出)
     */
    private Integer accountCategory;

    /**
     * 收/支方式 : 1-收入 2-支出
     */
    private Integer transactionType;

    /**
     * 变更前余额
     */
    private Integer beforeBalance;

    /**
     * 变更金额
     */
    private Integer changeMoney;

    /**
     * 变更后余额
     */
    private Integer afterBalance;

    /**
     * 交易时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date transactionTime;

    /**
     * 收款方式
     */
    private String payType;

    /**
     * 关联业务类型（1 结算单 2 预缴单 3 日账）
     */
    private String businessType;

    /**
     * 关联业务编码（账单编码/预缴单编码/日账单编码）
     */
    private String businessNo;

    /**
     * 支付编码（PN）
     */
    private String payNo;

    /**
     * 备注
     */
    private String remark;

    /**
     * 删除标志（0-未删除 2-已删除）
     */
    private String delFlag;

    /**
     * appId
     */
    private String appId;
}
